Compositionality in SLD-derivations and their Abstractions

نویسندگان

  • Marco Comini
  • Giorgio Levi
  • Maria Chiara Meo
چکیده

Interpretation is a theory developed to reason about the abstraction relation between two different semantics. The theory requires the two semantics to be defined on domains which are complete lattices. (C, ) (concrete domain) is the domain of the concrete semantics, while (A,≤) (abstract domain) is the domain of the abstract semantics. The partial order relations reflect an approximation relation. The two domains are related by a pair of functions α (abstraction) and γ (concretization), which form a Galois Insertion. Definition 4.1 (Galois Insertion) Let (C, ) be the concrete domain and (A,≤) be the abstract domain. A Galois insertion 〈α, γ〉 : C A is a pair of maps α : C → A and γ : A→ C such that α and γ are monotonic and ∀x ∈ C, x (γ ◦ α)(x) and ∀y ∈ A, (α ◦ γ)(y) = y. Given a Galois Insertion between the concrete and the abstract domain and a concrete semantics, we want to define an abstract semantics. The concrete semantics is the least fixpoint of a semantic function F : C → C. The abstract semantic function F̃ : A→ A is correct if ∀x ∈ C, F (x) ≤ γ(F̃ (α(x))). The same property holds for the least fixpoints of F and F̃ . F is in turn defined as composition of “primitive” operators. Let f : Cn → C be one such an operator and assume that f̃ is its abstract counterpart. Then f̃ is correct w.r.t. f if ∀x1, . . . , xn ∈ C, f(x1, . . . , xn) γ(f̃(α(x1), . . . , α(xn))). The correctness of all the primitive operators implies the correctness of F̃ . Hence, we can define an abstract semantics by defining correct abstract primitive semantic functions. An abstract computation is then related to the concrete computation, simply by replacing the concrete operators by the corresponding abstract operators. According to the theory, for each operator f , there exists an optimal (most precise) correct abstract operator f̃ defined as f̃(y1, . . . , yn) = α(f(γ(y1), . . . , γ(yn))). However the composition of optimal operators is not necessarily optimal [3]. The abstract interpretation theory allows us to model the approximation process which is typically involved in program analysis. In this paper we are only concerned with different semantics and therefore we look for precise abstractions. The abstract operator f̃ is precise if ∀x1, . . . , xn ∈ C,α(f(x1, . . . , xn)) = f̃(α(x1), . . . , α(xn)). Hence the optimal abstract operator f̃ is precise if and only if α(f(x1, . . . , xn)) = α(f((γ ◦ α)x1, . . . , (γ ◦ α)xn)). Hence the precision of the optimal abstract operators can be reformulated in terms of properties of α, γ and the corresponding concrete operators. The above definitions are naturally extended to “primitive” semantic operators from P(C) to C.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compositionality Properties of SLD-Derivations

The paper introduces a semantics for definite logic programs expressed in term of SLD-derivations and studies various properties of SLD-derivations by using the above semantics. The semantics of a program is a goal-independent denotation, which can equivalently be specified by a denotational semantics and a transition system. The denotation is proved to be correct, minimal, AND-compositional an...

متن کامل

An Algebraic Theory

We give an algebraic formalization of SLD-trees and their abstractions (ob-servables). We can state and prove in the framework several useful theorems (AND-compositionality, correctness and full abstraction of the denotation, equivalent top-down and bottom-up constructions) about semantic properties of various observables. Observables are represented by Galois co-insertions and can be used to m...

متن کامل

An Algebraic Theory of Observables

We give an algebraic formalization of SLD-trees and their abstractions (ob servables). We can state and prove in the framework several useful theorems (AND-compositionality, correctness and full abstraction of the denotation, equivalent top-down and bottom-up constructions) about semantic properties of various observables. Observables are represented by Galois co-insertions and can be used to m...

متن کامل

Contributions à la sémantique de la programmation logique

This work can be split in two parts. First, we present a full formalisation of the semantics of de nite programs, in the calculus of inductive constructions. For this, we describe a formalisation of the proof of rst order terms uni cation obtained from a similar proof dealing with quasi-terms, thus showing in a general setting how partial functions can be considered in a system with total funct...

متن کامل

Resultants Semantics for Prolog

In this paper we study some rst order formulas, called resultants, which can be used to describe in a concise way most of the relevant information associated to SLD-derivations. We rst extend to resultants some classical results of logic programming theory. Then we deene a xpoint semantics for Prolog computed resultants, i.e. those formulas which are obtained by considering the leftmost selecti...

متن کامل

Coalgebraic Derivations in Logic Programming

Coalgebra may be used to provide semantics for SLD-derivations, both finite and infinite. We first give such semantics to classical SLD-derivations, proving results such as adequacy, soundness and completeness. Then, based upon coalgebraic semantics, we propose a new sound and complete algorithm for parallel derivations. We analyse this new algorithm in terms of the Theory of Observables, and w...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995